#pragma once

#include <string>
#include <queue>
#include <vector>
#include <boost/ptr_container/ptr_vector.hpp>

#include "../CardControl.h"
#include "../../../../utils/gui/Control.h"
#include "../../../../domain/configuration/GameModes.h"
#include "../../../../domain/models/Card.h"
#include "../../../../domain/models/CardSet.h"

namespace Views {
	namespace Helpers {
		namespace Graphic {
			namespace Application {
				class GameEndDialog: public Utils::GUI::Control
				{
				public:
					GameEndDialog(Cards::CardSet&);
					void gameWonDeducted();
					void gameWonOtherFailed();
					void gameLostDeducted();
					void gameLostOtherFailed();

				protected:
					void createShape();
					void setColour(sf::Color);
					void setHeader(std::string);
					void setCards(Cards::CardSet&);
				};
			}
		}
	}
}

